from appium.webdriver.common.appiumby import AppiumBy
from base.base_page import BasePage  # 需根据实际项目导入 BasePage 所在模块


class ShipmentPage(BasePage):
    # 页面标题
    PAGE_TITLE = (AppiumBy.XPATH, "//android.widget.TextView[@text='寄快递']")
    # 重要通知栏（致客户资金安全书...）
    IMPORTANT_NOTICE_BAR = (AppiumBy.XPATH, "//android.widget.TextView[@text='致客户资金安全书，保障您的资金安全']")
    # 快速寄件入口 - 图标
    QUICK_SHIPMENT_ICON = (AppiumBy.XPATH, "//android.widget.ImageView[@resource-id='...' and @content-desc='快速寄件']")  # 补充准确 resource-id
    # 快速寄件入口 - 文字
    QUICK_SHIPMENT_TEXT = (AppiumBy.XPATH, "//android.widget.TextView[@text='快速寄件']")
    # 快速寄件入口 - 描述（1小时上门取件）
    QUICK_SHIPMENT_DESC = (AppiumBy.XPATH, "//android.widget.TextView[@text='1小时上门取件']")
    # 扫一扫入口 - 图标
    SCAN_ICON = (AppiumBy.XPATH, "//android.widget.ImageView[@resource-id='...' and @content-desc='扫一扫']")  # 补充准确 resource-id
    # 扫一扫入口 - 文字
    SCAN_TEXT = (AppiumBy.XPATH, "//android.widget.TextView[@text='扫一扫']")
    # 扫一扫入口 - 描述（二维码下单/查件）
    SCAN_DESC = (AppiumBy.XPATH, "//android.widget.TextView[@text='二维码下单/查件']")
    # 批量寄入口 - 图标
    BATCH_SHIPMENT_ICON = (AppiumBy.XPATH, "//android.widget.ImageView[@resource-id='...' and @content-desc='批量寄']")  # 补充准确 resource-id
    # 批量寄入口 - 文字
    BATCH_SHIPMENT_TEXT = (AppiumBy.XPATH, "//android.widget.TextView[@text='批量寄']")
    # 批量寄入口 - 描述（多个包裹便捷下单）
    BATCH_SHIPMENT_DESC = (AppiumBy.XPATH, "//android.widget.TextView[@text='多个包裹便捷下单']")
    # 整车下单入口 - 图标
    WHOLE_CAR_ICON = (AppiumBy.XPATH, "//android.widget.ImageView[@resource-id='...' and @content-desc='整车下单']")  # 补充准确 resource-id
    # 整车下单入口 - 文字
    WHOLE_CAR_TEXT = (AppiumBy.XPATH, "//android.widget.TextView[@text='整车下单']")
    # 整车下单入口 - 描述（1对1专车服务）
    WHOLE_CAR_DESC = (AppiumBy.XPATH, "//android.widget.TextView[@text='1对1专车服务']")
    # 预约司机入口 - 图标
    RESERVE_DRIVER_ICON = (AppiumBy.XPATH, "//android.widget.ImageView[@resource-id='...' and @content-desc='预约司机']")  # 补充准确 resource-id
    # 预约司机入口 - 文字
    RESERVE_DRIVER_TEXT = (AppiumBy.XPATH, "//android.widget.TextView[@text='预约司机']")
    # 预约司机入口 - 描述（待通知取货/已取消）
    RESERVE_DRIVER_DESC = (AppiumBy.XPATH, "//android.widget.TextView[@text='待通知取货/已取消']")
    # 下单审核入口 - 图标
    ORDER_REVIEW_ICON = (AppiumBy.XPATH, "//android.widget.ImageView[@resource-id='...' and @content-desc='下单审核']")  # 补充准确 resource-id
    # 下单审核入口 - 文字
    ORDER_REVIEW_TEXT = (AppiumBy.XPATH, "//android.widget.TextView[@text='下单审核']")
    # 下单审核入口 - 描述（已审核0票）
    ORDER_REVIEW_DESC = (AppiumBy.XPATH, "//android.widget.TextView[@text='已审核0票']")


    def enter_single_order_page(self):
        self.click(self.QUICK_SHIPMENT_ICON)

    def enter_scan_page(self):
        self.click(self.SCAN_ICON)

    def enter_batch_order_page(self):
        self.click(self.BATCH_SHIPMENT_ICON)

    def enter_whole_car_order_page(self):
        self.click(self.WHOLE_CAR_ICON)

    def enter_reserve_driver_page(self):
        self.click(self.RESERVE_DRIVER_ICON)

    def enter_order_review_page(self):
        self.click(self.ORDER_REVIEW_ICON)